
//preloading.....
load("library/common.js");

JEuler.system.loadJS("library/math.js");

(function() {

    //JEuler.system.loadJS("data/???.dat");
    JEuler.system.printCaption("3");
    JEuler.system.startTimerCount();
    
    var number = 600851475143;
    JEuler.math.PrimeUtils.sievePrime(Math.floor(Math.sqrt(number)));
    JEuler.math.PrimeUtils.printCachedPrimes("v");
    var primes = JEuler.math.PrimeUtils.getPrimePool();  
    var tmp = number, max_f=1;
    for(var i=0; i<primes.length; i++) {
        if(tmp<primes[i]) break;
        if(tmp%primes[i]==0) {
            max_f = primes[i];
            JEuler.system.print("factor: " + primes[i]);
            do {
                tmp = tmp/primes[i];
            } while (tmp%primes[i]==0);
        }
    }  

    JEuler.system.print("Largest prime factor is " + max_f);

    JEuler.system.printTimerCount();
    
})();
